package com.millstein.service;


import com.millstein.request.CartItemRequest;
import com.millstein.vo.CartVO;

import java.util.List;

/**
 * @description:
 * @author: tsing
 * @create: 2021-09-16 22:44
 */
public interface CartService {
    /**
     * 添加购物车
     * @param cartItemRequest 添加购物车所需要的数据
     */
    void addCartItem(CartItemRequest cartItemRequest);

    /**
     * 清空购物车
     */
    void clearCart();

    /**
     * 删除购物项
     * @param productId 商品id
     */
    void deleteCartItem(Long productId);

    /**
     * 修改购物项数量
     * @param cartItemRequest 修改购物项所需要的数据
     */
    void changeCartItemNumber(CartItemRequest cartItemRequest);

    /**
     * 获取当前用户的购物车
     * @return
     */
    CartVO getCurrentCart();

    /**
     * 从购物车中获取数据
     * @param productIds 生成订单商品id的集合
     * @return
     */
    CartVO getProductFromCart(List<Long> productIds);
}
